#ifndef __SF_IMAGE_H__
#define __SF_IMAGE_H__

#include <mc920.h>

typedef struct _vector
{
   double real;
   double img;
} Vector;

typedef struct _dgrayimage 
{
   int   nx,ny;    /* dimensoes da imagem */
   Vector **val; /* matriz com os valores real/img dos pixels */ 
} DGrayImage;

/**
   Convert a dgray image to a gray image using
   pixel magnitude and normalizing it with log
 */
GrayImage* ConvertToGrayImage(DGrayImage* img);

/**
   Translates its quadrants
 */
void TransposeGrayImage(GrayImage *img);

/**
   Destroys double valued gray image
 */
void DestroyDGrayImage(DGrayImage *img);

/**
   Allocates memory for dgrayimage
 */
DGrayImage* CreateDGrayImage(int nx, int ny);


#endif
